/*
 * Copyright 2000-2020 ALPHA LAB.Inc All Rights Reserved.
 */
package com.alphalab.moonlight.demo.service.role;

import java.util.List;

import com.alphalab.framework.role.IGeneralQueryRole;
import com.alphalab.moonlight.demo.service.model.AirlineVO;
import com.alphalab.moonlight.demo.service.model.FlightQueryParamVO;
import com.alphalab.moonlight.demo.service.model.FlightTrendAnalyseVO;
import com.alphalab.moonlight.demo.service.model.FlightTrendQueryParamVO;
import com.alphalab.moonlight.demo.service.model.PassengerTravelVO;

/**
 * IAirlineQueryRole.
 * @author allen 
 * @version 1.0.0 2018年2月20日
 */
public interface IAirlineQueryRole extends IGeneralQueryRole<AirlineVO>  {

	/**
	 * 根据航班查询条件对象VO查询航班结果集.
	 * @param flightQueryParamVO 航班查询条件对象VO
	 * @return List<AirlineVO>
	 */
	List<AirlineVO> getAirlineList(FlightQueryParamVO flightQueryParamVO);
	
	/**
	 * 根据航班查询条件对象VO分页查询航班结果集.
	 * @param flightQueryParamVO 航班查询条件对象VO
	 * @param pageIndex 第几页
	 * @param pageSize 每页的记录数
	 * @return List<AirlineVO>
	 */
	List<AirlineVO> getAirlineList(FlightQueryParamVO flightQueryParamVO, int pageIndex, int pageSize);	
	
	/**
	 * 根据航班查询条件对象VO查询旅客行程结果集.
	 * @param flightQueryParamVO 航班查询条件对象VO
	 * @return List<PassengerTravelVO>
	 */
	List<PassengerTravelVO> getPassengerTravelList(FlightQueryParamVO flightQueryParamVO);	
	
	/**
	 * 根据航班查询条件对象VO查询航班趋势分析结果集.
	 * @param flightTrendQueryParamVO 航班趋势分析结果VO
	 * @return List<FlightTrendAnalyseVO>
	 */
	List<FlightTrendAnalyseVO> getFlightTrendAnalyseResult(FlightTrendQueryParamVO flightTrendQueryParamVO);	
	
}
